using System;
using System.Configuration;

namespace AntEater.ComponentModel.Configuration
{
    /// <summary>
    /// Provides the configuration information for a TypeElement.
    /// </summary>
    public abstract class TypeElement : NamedElement
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="T:TypeElement"/> class.
        /// </summary>
        protected TypeElement() {
        }

        /// <summary>
        /// Gets the assembly.
        /// </summary>
        /// <value>The assembly.</value>
        [ConfigurationProperty("assembly", IsRequired = true)]
        public string Assembly {
            get { return (string)this["assembly"]; }
        }

        /// <summary>
        /// Gets the type.
        /// </summary>
        /// <value>The type.</value>
        [ConfigurationProperty("type", IsRequired = true)]
        public string Type {
            get { return (string)this["type"]; }
        }
    }
}
